package com.atguigu.yygh.hosp.service;

import com.atguigu.yygh.model.hosp.Department;
import com.atguigu.yygh.vo.hosp.DepartmentQueryVo;
import com.atguigu.yygh.vo.hosp.DepartmentVo;
import org.springframework.data.domain.Page;

import java.util.List;
import java.util.Map;

/**
 * @FileName: DepartmentService
 * @Author Steven
 * @Date: 2021/3/18
 */
public interface DepartmentService {
    /**
     * 上传科室信息
     *
     * @param paramMap
     */
    void save(Map<String, Object> paramMap);

    /**
     * 分页查询
     *
     * @param page              当前页
     * @param limit             每页显示记录数
     * @param departmentQueryVo 查询条件
     * @return
     */
    Page<Department> selectPage(Integer page, Integer limit, DepartmentQueryVo departmentQueryVo);

    /**
     * 根据医院编号及部门ID删除医院信息
     * @param hosCode
     * @param depCode
     */
    void remove(String hosCode,String depCode);

    /**
     * 根据医院编号，查询所有科室信息
     * @param hosCode 医院编号
     * @return 科室信息集合
     */
    List<DepartmentVo> findDeptTree(String hosCode);

    /**
     * 根据医院编号、科室编号查询科室信息
     * @param hosCode 医院编号
     * @param deptCode 科室编号
     * @return 科室信息
     */
    String getDepName(String hosCode,String deptCode);

    /**
     * 根据医院编号和部门编号获取部门信息
     * @param hoscode 医院编号
     * @param depcode 部门编号
     * @return 部门信息
     */
    Department getDepartment(String hoscode, String depcode);
}
